spark

您所在的位置:网站首页 hive explain详解 spark

spark

2024-03-04 22:09| 来源: 网络整理| 查看: 265

Project 含义:投影 源代码类:ProjectExec 产生原因: select CodegenSupport : true explain 输出解释:Project [投影字段#投影字段的id,..]

Filter 含义:过滤条件 源代码类:FilterExec 产生原因: where CodegenSupport : true explain 输出解释:Filter(条件表达式)

Exchange 含义:shuffle节点 源代码类:ShuffleExchangeExec 产生原因: group by 、order by 、join 等都有可能产生。在EnsureRequirements中根据父节点的requiredChildDistribution(要求子节点输出分布)和子节点的outputPartitioning(输出分布)决定是否插入Exchange节点 CodegenSupport : false explain 输出解释:Exchange 分区方式(分区key, 分区数)

Sort 含义:排序 源代码类:SortExec 产生原因:order by, group by(sort aggregate) ,join(sortMergeJoin)。在EnsureRequirements中根据父节点的requiredChildOrdering(要求子节点排序情况)和子节点的outputOrdering(排序情况)决定是否插入Sort节点 CodegenSupport : true explain 输出解释:Sort [排序字段#id 排序方向(ASC|DESC) null值在前还是在后(NULLS FIRST:null 排在前边, NULLS LAST:null 排在后边) ]

SortMergeJoin 含义:排序方式进行join 源代码类:SortMergeJoinExec 产生原因:join (条件不满足使用 broadcastJoin 、shuffledHashJoin 时使用 sortmergejoin) CodegenSupport : false explain 输出解释:SortMergeJoin join的条件 join类型

BroadcastHashJoin 含义:广播方式进行join 源代码类:BroadcastHashJoinExec 产生原因:join(使用hint 、一侧表小于广播阈值) CodegenSupport :true explain 输出解释:BroadcastHashJoin join的条件 join类型 build侧(BuildRight:右表broadcast, BuildLeft :左表broadcast)

ShuffledHashJoin 含义:先shuffle再hashjoin 源代码类:ShuffledHashJoinExec 产生原因:join(条件不满足BroadcastHashJoin,且表总大小/partition个数 小于 brocast阈值,且spark.sql.join.preferSortMergeJoin=false (默认等于true)) CodegenSupport :false explain 输出解释:ShuffledHashJoin join的条件 join类型

HashAggregate 含义:hash 方式进行聚合 源代码类:HashAggregateExec 产生原因:group by , 聚合函数(count,sum), distinct CodegenSupport :true explain 输出解释: HashAggregate(聚合的key, 聚合函数, 输出)

SortAggregate 含义:sort 方式进行聚合 源代码类:SortAggregateExec 产生原因:group by , 聚合函数(count,sum), distinct CodegenSupport :false explain 输出解释: SortAggregate(聚合的key, 聚合函数, 输出)

ObjectHashAggregate 含义:hash 方式进行聚合, 与HashAggregate有所区别 源代码类:ObjectHashAggregateExec 产生原因:group by , 聚合函数(count,sum), distinct CodegenSupport :false explain 输出解释: ObjectHashAggregate(聚合的key, 聚合函数, 输出)

Window 含义:窗口操作 源代码类:WindowExec 产生原因:使用了over 从句 CodegenSupport :false explain 输出解释: Window [窗口函数(eg row_number ) 窗口定义(partition order ), 窗框范围]



【本文地址】


今日新闻


推荐新闻


CopyRight 2018-2019 办公设备维修网 版权所有 豫ICP备15022753号-3